Урок 12 – Циклические операторы

Часто во время создания программы вам будет необходимо чтобы действия некоторых операторов повторялись несколько раз. Для таких целей и были придуманы циклические операторы. 

В Pascal существуют 3 циклических оператора: цикл с постусловием (оператор repeat), цикл с предусловием (оператор while) и цикл со счетчиком (оператор).

Давайте рассмотрим их по порядку на практике. Создадим новую программу “cycles” и внутри этой программы создадим переменную i.

Далее в третьем разделе наберем сначала присвоим переменной i значение 1, и напишем слово repeat.

Далее мы можем указать сколь угодно операторов без begin и end, так как у оператора repeat есть обязательное ключевое слово until, которое и указывает компилятору, где заканчиваются операторы для repeat и начинается условие.

Т.е. здесь мы сперва выводим значение i, затем прибавляем к нему 1. Этот код будет повторятся пока i не станет больше 10.

Думаю здесь ничего сложного. Давайте теперь рассмотрим цикл с предусловием while. Думаю, по названию, вы поняли, что в этом операторе сперва проверяется условие, а потом действие. Также рассмотрим его на практике. Сперва удалим цикл repeat, и напишем ключевое слово while, а условие должно быть наоборот в цикле while: если в repeat мы указывали выполнять последовательность действий пока i не станет больше 10 (i>10), то в while мы будем выполнять последовательность операторов пока i будет меньше или равно 10 (i<=10). Затем после условия пишем ключевое слово do.

В while уже необходимо, если вы хотите использовать несколько операторов, указывать составной оператор begin end.

И последний циклический оператор – это оператор со счетчиком for. В этом операторе важным элементом является переменная-параметр, которая с каждым новым циклом меняет свое значение на единицу – поэтому его называют счетчиком. 

Давайте удалим оператор while, и даже удалим присвоение переменной 1, так как мы ее будем использовать как переменную параметр и присвоим ей значение, непосредственно, в цикле for.

Т.е. сперва пишем ключевое слово for, затем переменную параметр и задаем ей начальное значение, далее пишем ключевое слово to и конечное значение (т.е. каждый цикл переменная i будет увеличиваться пока не станет равной 10). Затем останется написать ключевое слово do и оператор.

Также помимо увеличения значения на 1 с каждым циклом, можно написать цикл for с уменьшением значения на 1. Для этого достаточно просто заменить ключевое слово to на downto.

Все структурные операторы могут входить друг в друга, например, внутри оператора if может быть оператор for и наоборот и т.д. Структурный оператор содержащий в себе другой оператор называют внешним, а оператор который входит в другой – внутренним.

Давайте напишем программу которая будет выводить только четные числа от 1 до 10. В начале пишем цикл for.

А внутри него на месте на месте где мы писали Writeln() пишем оператор if в условиях которого будет проверка – если разделить i на 2 c помощью мод будет ли остаток от деления равен 0.

Если да (значит число четное), то выведи его на экран, если нет, то ничего не делай.

Давайте теперь сделаем сложную программу, в которой будет перечисление часов и минут в сутках. 

В начале создаем две переменные: hour и minute (т.е. час и минута).

Далее пишем цикл for, который выводит весь список часов в сутках.

Как видите, в операторе Writeln вместо знака + мы также можем соединять строки через запятую.

Теперь давайте усложним программу, напишем внутри цикла for еще один цикл for для минут.

Т.е. сперва переменной hour присваивается значение 0, затем выполняется внутренний цикл for, и пока он не завершится полностью (т.е. значение переменной minute станет 59), внешний оператор for не будет переходить в следующий цикл.

Можете в качестве домашнего задания добавить также секунды в эту программу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *